package uk.co.caprica.vlcj.oop;

import uk.co.caprica.vlcj.player.MediaPlayer;
import uk.co.caprica.vlcj.player.embedded.videosurface.ComponentIdVideoSurface;

/**
 * Specification for a media player component that is intended to be accessed in
 * an out-of-process manner, and which may have it's video output embedded in a 
 * local application.
 * <p>
 * The parent application simply provides the out-of-process media player with
 * the local video surface component that should be associated with the media 
 * player.
 */
public interface OutOfProcessMediaPlayer extends MediaPlayer {

    /**
     * Set the video surface.
     * 
     * @param videoSurface video surface
     */
    void setVideoSurface(ComponentIdVideoSurface videoSurface);
}
